const http = require('../../../utils/https.js'); // 上三级目录

Page({

    /**
     * 页面的初始数据
     */
    data: {
        cartCount: 13, // 购物车的数量
        groupedGoods: [] // 按type分组的商品列表
    },

    /**
     * 处理分组倒计时变化
     */
    onGroupTimeChange(e) {
        const {
            type
        } = e.currentTarget.dataset;
        const {
            groupedGoods
        } = this.data;

        // 更新对应分组的时间数据
        const updatedGroups = groupedGoods.map(group => {
            if (group.type === type) {
                return {
                    ...group,
                    timeData: e.detail
                };
            }
            return group;
        });

        this.setData({
            groupedGoods: updatedGroups
        });
    },

    /**
     * 增加购物车数量
     */
    addCartCount() {
        this.setData({
            cartCount: this.data.cartCount + 1
        });

        // 可以在这里添加加入购物车的动画效果
    },

    /**
     * 计算倒计时时间
     */
    calculateTime(endTime) {
        const end = new Date(endTime).getTime();
        const now = new Date().getTime();
        const timeDiff = end - now;
        return timeDiff > 0 ? timeDiff : 0;
    },

    /**
     * 按type分组商品
     */
    groupGoodsByType(goodsList) {
        const groups = {};

        // 先按type分组
        goodsList.forEach(item => {
            const {
                type,
                activityType
            } = item;

            // 如果该类型还没有分组，则创建一个
            if (!groups[type]) {
                groups[type] = {
                    type,
                    activityName: activityType.activityName,
                    description: activityType.description,
                    endTime: activityType.endTime,
                    time: 0,
                    timeData: {},
                    goods: []
                };
            }

            // 将商品添加到对应分组
            groups[type].goods.push(item);
        });

        // 计算每个分组的倒计时
        Object.values(groups).forEach(group => {
            group.time = this.calculateTime(group.endTime);
        });

        // 转换为数组并返回
        return Object.values(groups);
    },

    /**
     * 获取活动商品列表
     */
    getGoodsList() {
        http.GET(
            '/activity/sale/list', {},
            (res) => {
                if (res.code === 200 && res.rows && res.rows.length > 0) {
                    // 按type分组商品
                    const groupedGoods = this.groupGoodsByType(res.rows);

                    this.setData({
                        groupedGoods
                    });
                }
            }
        );
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        this.getGoodsList();
    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {
        this.getGoodsList();
        wx.stopPullDownRefresh();
    },
  // 前往限时抢购商品细节
  toLimitTimeGood(e) {
      var productId = e.currentTarget.dataset.productId
      wx.navigateTo({
          url: `/index/pages/mzhLimitedGoodsDetail/mzhLimitedGoodsDetail?id=${productId}`,
      })
    },
    tocart() {
      wx.switchTab({
        url: '/pages/shopCart/shopCart',
      })
  },
    // 其他生命周期函数保持不变
    onReady() {},
    onShow() {},
    onHide() {},
    onUnload() {},
    onReachBottom() {},
    onShareAppMessage() {}
})
